From 592686b770b78ff85d1c1d4f8c23cc72ee1d1dac Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Tue, 22 Jul 2008 12:15:02 +0900 Subject: [PATCH] [IA64] kexec: Header changes in preparation for EFI RID The EFI RID patches require pal.h to (directly or indirectly) have access to GRANULE_SIZE which is defined in pgtable.h. This effectively causes a header loop as pgtable.h includes system.h and system.h includes pal.h. This patch breaks that loop by not including pal.h in system.h if XEN is defined, which is the only time the loop will occur. There are two side effects of this: 1. regionreg.c makes use of some symbols declared in pal.h but does not include it directly. This is resolved by including it, which doesn't seem to cause any additional problems. 2. system.h makes use of ia64_pal_halt_light which is defined in pal.h. #define safe_halt() ia64_pal_halt_light() This is probably the reason that pal.h is included in system.h. However this does not seem to manifest as any sort of build problem, presumably because either nothing in xen uses safe_halt, or because those that do include pal.h by some other means. In any case the change seems safe, though hackish. Cc: Tristan Gingold Cc: Isaku Yamahata Cc: Alex Williamson Cc: Aron Griffis Signed-off-by: Simon Horman --- xen/arch/ia64/xen/regionreg.c | 1 + xen/include/asm-ia64/linux-xen/asm/system.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/xen/arch/ia64/xen/regionreg.c b/xen/arch/ia64/xen/regionreg.c index d9843370f8..cfb2154673 100644 --- a/xen/arch/ia64/xen/regionreg.c +++ b/xen/arch/ia64/xen/regionreg.c @@ -16,6 +16,7 @@ #include #include #include +#include /* Defined in xemasm.S */ extern void ia64_new_rr7(unsigned long rid, void *shared_info, void *shared_arch_info, unsigned long shared_info_va, unsigned long va_vhpt); diff --git a/xen/include/asm-ia64/linux-xen/asm/system.h b/xen/include/asm-ia64/linux-xen/asm/system.h index c1138c56fb..f749587493 100644 --- a/xen/include/asm-ia64/linux-xen/asm/system.h +++ b/xen/include/asm-ia64/linux-xen/asm/system.h @@ -16,7 +16,9 @@ #include #include +#ifndef XEN #include +#endif #include #ifndef XEN -- 2.30.2